附加模块:Linux
😇 本来这个模块在编程模块内,但是鉴于大家都反应做这一块非常难,因此我将他提出作为一个额外的附加模块。
如果你想尝试使用 Linux 编程或者想了解更多计算机科学领域知识,你可以学习并阅览本部分内容。
当然你也可以先尝试完成第三部分的一些内容再回过头解决本部分的内容。
可能会花费你大量的时间,并且让你感受到非常困难,但是可以保证的是:你的一切投入,都是有收获的。
What???Linux???
大家可能知道我们的电脑是 Windows 作为操作系统的。
而 Linux 也是一款有趣的开源的操作系统
它既免费也自由 (能知道它内部的实现),而且互联网上有丰富的 (英文) 文档。
它的设计继承自 “Keep it simple, stupid” 的 UNIX,这个经典的设计背后的动机反而更容易为第一次接触操作系统的初学者所理解。让我们看看它的威力:
- 首先,操作系统里的一切对象都用文件表示 (Everything is a file)。进程、设备…… 都可以在任何编程语言里用文件 API 访问。
- Linux 的命令行 Shell 是一门编程语言 —— 没错,你每天都在 “编程”!更准确地说,Shell 的功能就是把你想要做的事情 (类似自然语言描述的代码) 翻译成操作系统能看懂的文件 / 进程管理 API 调用。
Why Linux???
作为一个双系统用户体验者来说,他除了玩游戏不那么方便以外,可以更为高效且便捷的办到 Windows 费很大力气才能办到的事情。
并且相当多的开发软件在 Linux 上有更好的兼容性,而到 windows 上你将会花费大量的时间配置各种环境变量还容易出错。
并且目前,服务器上为了保证低损耗,高效率,基本上百分之九十九都是 Linux 的系统,实验室的服务器也是 Linux 系统。
简单来说就是,你如果想干点事情,肯定要靠 Linux,因此学会 Linux 的操作是不可或缺的
而且我个人认为,linux 的自由性对于 CSer 来说非常适合,他不会阻止你干任何操作,你可以充分体会所以你的命令带来的影响 (rm -rf /)
GUI 与 CLI
诚然,我们现在的图形化界面(GUI)已经深入到了生活的方方面面,但是优劣如何对比呢?
这篇文章详细对比了图形化界面和单纯的终端命令的优劣
How Linux???
那么这么好的东西哪里可以获得呢?
因为 Linux 有诸多发行版本,我在这里建议大家使用 Ubuntu22.04 作为主要版本进行使用
如果你很猛,去试试 arch!
任务:装 Ubuntu22.04 或者 debian,如果你想删了自己的系统,可以试试 deepin,当然,也会有一些兼容性问题,不过会支持一些中文软件
tip1:推荐这个 3.Y.3VMware 的安装与安装 ubuntu22.04 系统
tip2:可以使用 WSL3.Y.4WSL 的安装,但是我更建议实装到电脑上双系统之类的,正好锻炼一下装系统倒腾的能力。大可不必删了 windows 换成 ubuntu。
tip3:前两个 tip 二选一。
在开始之前,建议先阅读 3.Y.1Linux 概念普及,了解一些基本概念,免得把系统搞坏了,尤其是 WSL 有可能把 Windows 也一块带走,之前就有群友做到过。
任务:阅读 GUI 与命令行之间对比的文章,尝试开始阅读英文文章